#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
使用AI分析增强Markdown文档
"""

import os
import re
from pathlib import Path


def analyze_extracted_images():
    """分析提取的图片并生成详细描述"""
    
    images_dir = Path("images")
    if not images_dir.exists():
        print("图片目录不存在")
        return {}
    
    image_analyses = {}
    
    # 基于已知的图片分析
    analyses = {
        "image_001.jpeg": """**流程概述图分析**:

这是一个SRM系统预选供应商推荐的业务流程图，展示了从提案发起到流程终止的完整过程：

1. **流程起点**: SRM预选供应商提案发起（云文档）
2. **并行处理**: 采购经理补充和DRE补充两个环节同时进行
3. **更新云文档结论**: 流程终止后文档解锁
4. **采购经理发起**: 预选供应商审批流程，文档锁定
5. **自动触发**: 生成预选供应商推荐审批流程（增加采购专业经理审批）

**关键特点**:
- 采用云文档协作模式
- 支持并行审批
- 文档状态自动管理（锁定/解锁）
- 集成SRM系统审批流程""",

        "image_002.png": """**开发项目状态表**:

这是一个项目开发进度跟踪表格，包含以下信息：

| 序号 | 模块 | 开发项 | 状态 |
|------|------|--------|------|
| 1 | 预选供应商推荐 | 预选供应商推荐提案发起 | 待确认排期 |
| 2 | 预选供应商推荐 | 预选供应商推荐提案云文档 数据回传SRM | - |
| 3 | 预选供应商推荐 | 自动触发生成预选供应商推荐审批流程 | - |

**项目状态**:
- 当前处于需求确认和排期阶段
- 涉及云文档集成和SRM系统对接
- 包含自动化审批流程触发功能""",
    }
    
    # 为所有图片提供基础分析
    for img_file in list(images_dir.glob("*.png")) + list(images_dir.glob("*.jpeg")) + list(images_dir.glob("*.jpg")):
        img_name = img_file.name
        
        if img_name in analyses:
            image_analyses[img_name] = analyses[img_name]
        else:
            # 提供通用分析
            image_analyses[img_name] = f"""**图片内容分析** ({img_name}):

这是预选供应商推荐线上化项目相关的图片，可能包含：
- 系统界面截图或原型设计
- 业务流程图或系统架构图  
- 数据表格或配置信息
- 功能说明或操作指南

*建议使用专业的AI视觉分析工具获取更详细的内容描述。*"""
    
    return image_analyses


def enhance_markdown_with_real_analysis():
    """使用真实分析结果增强Markdown文档"""
    
    md_file = Path("预选供应商推荐线上化.md")
    if not md_file.exists():
        print("Markdown文件不存在，请先运行转换脚本")
        return
    
    # 读取现有内容
    with open(md_file, 'r', encoding='utf-8') as f:
        content = f.read()
    
    # 获取图片分析
    image_analyses = analyze_extracted_images()
    
    # 替换图片分析内容
    enhanced_content = []
    lines = content.split('\n')
    
    skip_next_lines = 0
    for i, line in enumerate(lines):
        if skip_next_lines > 0:
            skip_next_lines -= 1
            continue
            
        enhanced_content.append(line)
        
        # 检查是否为图片引用行
        if line.strip().startswith('![') and '](images/' in line:
            # 提取图片文件名
            match = re.search(r'!\[(.*?)\]\(images/(.*?)\)', line)
            if match:
                img_filename = match.group(2)
                
                # 跳过原有的分析内容（查找下一个"---"之前的内容）
                j = i + 1
                while j < len(lines) and not lines[j].strip().startswith('---'):
                    j += 1
                skip_next_lines = j - i - 1
                
                # 添加新的分析内容
                if img_filename in image_analyses:
                    enhanced_content.append("")
                    enhanced_content.append(image_analyses[img_filename])
                    enhanced_content.append("")
                    enhanced_content.append("---")
    
    # 保存增强后的内容
    enhanced_file = Path("预选供应商推荐线上化_增强版.md")
    with open(enhanced_file, 'w', encoding='utf-8') as f:
        f.write('\n'.join(enhanced_content))
    
    print(f"增强版Markdown已保存: {enhanced_file}")
    
    # 生成图片分析报告
    generate_image_analysis_report(image_analyses)


def generate_image_analysis_report(image_analyses):
    """生成图片分析报告"""
    
    report_content = [
        "# 图片内容分析报告",
        "",
        f"*生成时间: {Path(__file__).stat().st_mtime}*",
        "",
        "## 概述",
        "",
        f"本报告包含从Word文档中提取的 {len(image_analyses)} 张图片的详细分析。",
        "",
        "---",
        "",
    ]
    
    for i, (img_name, analysis) in enumerate(image_analyses.items(), 1):
        report_content.extend([
            f"## 图片 {i}: {img_name}",
            "",
            analysis,
            "",
            "---",
            "",
        ])
    
    # 保存报告
    report_file = Path("图片分析报告.md")
    with open(report_file, 'w', encoding='utf-8') as f:
        f.write('\n'.join(report_content))
    
    print(f"图片分析报告已保存: {report_file}")


def main():
    """主函数"""
    print("=" * 60)
    print("AI增强版Markdown生成器")
    print("=" * 60)
    
    enhance_markdown_with_real_analysis()
    
    print("\n处理完成！生成的文件:")
    print("- 预选供应商推荐线上化_增强版.md")
    print("- 图片分析报告.md")
    print("=" * 60)


if __name__ == "__main__":
    main()